import java.util.HashSet;
import java.util.Set;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User:DELL
 * Time:23:09
 */
public class demo3 {
    public int longestConsecutive(int[] nums) {
        //用哈希去重-存储所有数
        Set<Integer> hash =new HashSet<Integer>();
        for(int num:nums){
            hash.add(num);
        }
//当前的长度为0
        int longest=0;

        for(int num:hash){
            //判断哈希表中是否存在当前数的前一个数（相当于开头元素）
            if(!hash.contains(num-1)){
                //不存在
                int currentNum = num;//当前数等于哈希表中的数
                int currentlong = 1;//长度为1
                //存在则进行循环遍历看后面是否还有连续的数
                while(hash.contains(currentNum+1)){
                    currentNum += 1;//有则加1，继续判断
                    //并且长度也加1
                    currentlong += 1;
                }
                //判断所有的连续数中那个长度最长
                longest = Math.max(longest,currentlong);
            }
        }
        //返回最终结果
        return longest;
    }
}
